Intelligent management of one or more display devices of a vehicle service center

ABSTRACT

The present disclosure relates to systems, non-transitory computer-readable media, and methods for intelligently and dynamically managing a vehicle service center. For example, a vehicle service system analyzes information associated with vehicles scheduled for service at a vehicle service center comprising a set of sequential stations. Based on the analyzed information, the vehicle service system can determine an allocation of tasks and an allocation of resources for each station. In turn, the disclosed systems can customize, for display on display devices within the vehicle service center, task allocation user interfaces in accordance with a task allocation. Further, the vehicle service system can monitor a completion progress for the task allocation and, based on the completion progress, generate an adjusted task allocation for the given stage of progression. The vehicle service system can then update the task allocation user interfaces based on the adjusted task allocation for the given stage of progression.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of and priority to U.S. Provisional Application No. 62/840,293, filed Apr. 29, 2019. This application also relates to the subject matter disclosed in U.S. application Ser. No. 16/727,715, entitled VEHICLE SERVICE CENTER DISPATCH SYSTEM, and U.S. application Ser. No. 16/727,746, entitled INTELLIGENT MANAGEMENT OF ONE OR MORE MACHINES OF A VEHICLE SERVICE CENTER, each filed on the same day as the present application. The entire contents of the foregoing patent applications are incorporated herein by reference.

BACKGROUND

In recent years, popularity and usage of on-demand transportation matching systems have significantly grown. Indeed, the proliferation of web and mobile applications easily enable requesting individuals to request transportation from transportation providers. These on-demand transportation matching systems facilitate the completion of thousands and thousands of transportation requests each day. The provided transportation is dependent on the vehicles operated by transportation providers. The vehicles, in turn, require regular service in order to ensure that they can operate in a safe and efficient manner. However, traditional vehicle service centers (e.g., businesses that perform maintenance and other services on vehicles) suffer from a number of disadvantages, making them incompatible with the dynamic and demanding nature of on-demand transportation matching systems.

For example, traditional vehicle service centers are inefficient and prone to backlogs and delays. To illustrate, traditional service centers typically provide options for vehicle owners to make appointments ahead of time or arrive without an appointment. However, even for customers that make appointments beforehand, traditional vehicle service centers are notoriously prone to delays and almost never provide customers with reliable time estimates for completing the necessary services. Furthermore, the delays and unpredictability of traditional service centers are compounded by an inability to adapt to unforeseen circumstances or changes in services.

These and other disadvantages exist with respect to traditional vehicle service centers.

SUMMARY

This disclosure describes one or more embodiments of methods, non-transitory computer readable media, and systems that solve problems associated with conventional service centers. As will be described in more detail below, the disclosed systems can intelligently and dynamically determine how to manage display devices of a vehicle service center to ensure that vehicles are serviced efficiently and without the delays typical to traditional vehicle service centers. For example, the disclosed vehicle service center includes sequential stations, through which vehicles progress, stopping at each station, where tasks are performed in accordance with services for the vehicles. The disclosed systems manage the display devices of the vehicle service center to ensure that the vehicles progress through the sequential stations in accordance with a predefined progression rate (e.g., an amount of time vehicles spend at their stations before progressing to the next station or out of the vehicle service center).

For example, in one or more embodiments, a vehicle service system analyzes information associated vehicles to be serviced at a vehicle service center comprising sequential stations through which vehicles progress in accordance with a predefined progression rate. For example, the vehicle service system can analyze information associated with services that will be performed on each of the vehicles (e.g., to identify tasks associated with the services). Based on the information associated with the vehicles and based on the predefined progression rate, the vehicle service system can determine an allocation of tasks to be performed at each of the sequential stations. For example, for a given stage of progression with a vehicle at each of the stations, the vehicle service center can determine which tasks will be performed at each of the stations for the respective vehicles. Based on the task allocation and the predefined progression rate, the vehicle service center can determine how to allocate resources across the stations in order to complete the allocated tasks in the time allotted by the predefined progression rate. For example, the vehicle service center can determine how to allocate technicians as well as mechanical components—such as robots, equipment, or other machines—across the stations to complete the allotted tasks. In some embodiments, the vehicle service system determines an estimated progression rate for a given task allocation and a given resource allocation, and then compares the estimated progression rate to the predefined progression rate.

In turn, the disclosed systems can customize, for display on display devices within the vehicle service center for a given stage of progression, task allocation user interfaces in accordance with the task allocation. In addition, the vehicle service system can monitor a completion progress for the task allocation and, based on the completion progress, generate an adjusted task allocation for the given stage of progression. The vehicle service system can then update the task allocation user interfaces based on the adjusted task allocation for the given stage of progression. In this manner, if completion of the tasks assigned to a particular station falls behind schedule, the vehicle service system can dynamically modify display devices to present the adjusted task allocation and/or resource allocation to ensure that the predefined progression rate is satisfied or that any failure to satisfy the predefined progression rate is minimized.

Accordingly, and as is explained in more detail below, the disclosed features resolve many of the inefficiencies and uncertainties associated with conventional vehicle service centers.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a block diagram of an environment for implementing a vehicle service system in accordance with one or more embodiments.

FIG. 2 illustrates a rendered implementation of a resource allocation in accordance with one or more embodiments.

FIGS. 3A-3B illustrate a graphical presentation of a respective task allocation in a task allocation user interface on a computing device in accordance with one or more embodiments.

FIG. 4 illustrates a technician device for communicating with a vehicle service system in accordance with one or more embodiments.

FIGS. 5A-5D illustrate respective management user interfaces on a client device for managing a service queue of a vehicle service center in accordance with one or more embodiments.

FIG. 6 illustrates a schematic diagram of a vehicle service system in accordance with one or more embodiments.

FIG. 7 illustrates a flowchart of a series of acts in a method for dynamically displaying a set of tasks at one or more computing devices of a vehicle service center in accordance with one or more embodiments.

FIG. 8 illustrates a block diagram of an example computing device in accordance with one or more embodiments.

FIG. 9 illustrates an example network environment of a transportation matching system in accordance with one or more embodiments.

DETAILED DESCRIPTION

This disclosure describes one or more embodiments of a vehicle service center and corresponding vehicle service system that dynamically and flexibly updates task allocations on display devices within the vehicle service center to improve its efficiency. As disclosed in more detail below, a vehicle service center can include a set of sequential stations through which vehicles proceed in a sequential manner (e.g., starting at a first station, then moving to a second station, and so on) with various services being performed at each station. In some embodiments, the disclosed vehicle service system can intelligently allocate tasks and resources to ensure that the vehicles progress through the stations in accordance with a predefined progression rate. Accordingly, the vehicle service system stations and allocates resources to each of the stations to assist in completing the allocated tasks.

To illustrate, according to an example embodiment, a vehicle service system analyzes information associated with vehicles to be serviced at a vehicle service center. Based on the analyzed information, the vehicle service system can determine a respective set of tasks for completion at each of the stations in accordance with a predefined progression rate. In addition, the vehicle service system can customize task allocation user interfaces on display devices within the vehicle service center to reflect the respective set of tasks and monitor a completion progress thereof. In turn, the vehicle service system can generate (e.g., as needed based on the completion progress) modified or adjusted versions of the respective set of tasks to ensure that services are performed within the time allotted by the predefined progression rate.

As mentioned above, according to the embodiments disclosed herein, a vehicle service center includes a set of sequential stations through which vehicles progress, stopping at each station. In some embodiments, the stations are arranged in a line, end to end. A vehicle to be serviced enters the vehicle service center into a first station, and then moves station to station receiving services at each station until it leaves the last station in the sequence. In some embodiments, the vehicle service center includes three stations. However, the vehicle service center can include any number of stations arranged in a sequence. Each of the stations can be equipped with various tools, parts, and equipment for performing service tasks. The stations can be equipped differently, so that different services can be performed at each station, or the stations can be equipped to each perform any available service. Additional details regarding the vehicle service center and its stations are provided below.

As further mentioned above, the vehicle service system can intelligently allocate tasks and resources in order to ensure that vehicles progress through the stations of the vehicle service center in accordance with a predetermined progression rate. As used herein, the term “progression rate” refers to a rate at which vehicles progress through the stations of a vehicle service center. In other words, the progression rate represents how much time vehicles spend at a station before progression on to the next station (or out of the vehicle service center if a vehicle is in the last station). In some embodiments, the progression rate is an average progression rate for a vehicle across multiple stations and/or multiple vehicles across one or more stations. In other embodiments, a progression rate can represent a rate for a single vehicle at a single station or for a single stage of progression by multiple vehicles across multiple stations. The vehicle service system can monitor the completion of services at each station of the vehicle service center to determine the progression rate of one or more vehicles or for the vehicle service center in general. Furthermore, the vehicle service system can determine multiple progression rates corresponding to discrete periods of time (e.g., each hour, each day, each week, or each month).

As used herein, the term “predefined progression rate” refers to a target or maximum progression rate that has been set for a vehicle service center. For example, the predefined progression rate can define a per-station maximum amount of time to perform services on one or more vehicles. The predefined progression rate can apply to every station and every vehicle, or can be an average across multiple stations and multiple vehicles. In some embodiments, the predefined progression rate is the same for each station so that the vehicles progress consistently from station to station without being delayed by vehicles in the other stations. Example predefined progression rates include 5 minutes per station, 6 minutes per station, 7 minutes per station, 8 minutes per station, 9 minutes per station, and 10 minutes per station, although the predefined progression rate can be any progression rate. In some embodiments, the predefined progression rate is set by an administrator, such as a vehicle service center manager. In other embodiments, the vehicle service system can automatically set the predefined progression rate based on the services to be performed, the capabilities of the vehicle service center, and/or other circumstances associated with the vehicle service center. In additional embodiments, the predefined progression rate can be variable and/or dynamically set by the vehicle service system from time to time.

As indicated above, the vehicle service system can analyze information associated vehicles scheduled for service at a vehicle service center. For example, the vehicle service system can analyze information provided by vehicle owners, information associated with past services performed on the vehicles, and/or information provided by manufacturers of the vehicles. Based on the analyzed information, the vehicle service system can determine the services that need to be performed at the vehicle service center, the tasks required to perform each service, and the parts, tools, and equipment necessary to perform each service. The vehicle service system can further determine the capabilities of each station of the vehicle service center to determine which stations are capable of performing each of the tasks to be performed on each vehicle.

Based on the information associated with the vehicles scheduled for service and the services to be performed, the vehicle service system can determine an allocation of tasks to be performed at each station of the vehicle service center. In particular, for a given stage of progression, with vehicles at each station, the vehicle service system can determine, for example, a first set of tasks to be performed at a first station on a first vehicle, a second set of tasks to be performed at a second station on a second vehicle, and a third set of tasks to be performed at a third station on a third vehicle. Similarly, the vehicle service system can determine an allocation of tasks to be performed on a vehicle at each of the multiple stations. To illustrate, the vehicle service system can determine a first set of tasks to be performed on a vehicle at a first station, a second set of tasks to be performed on the vehicle when it moves to a second station, and a third set of tasks to be performed on the vehicle when it moves to a third station.

Furthermore, the vehicle service system can intelligently allocate resources to each of the stations of the vehicle service center. For example, the vehicle service system can identify the resources (e.g., technicians and components, such as machines) available to be allocated, can identify the tasks to be performed at each station based on the task allocation, and then determine the resources required to perform the allocated tasks in accordance with the predefined progression rate. The resource allocation can include an allocation of one or more technicians to each of the stations. Furthermore, the resource allocation can include an allocation of one or more machines, such as remotely controlled or autonomous robots or equipment to one or more stations. In addition to assigning the technicians and one or more machines to the stations, the vehicle service system can assign each of the technicians and/or machines one or more tasks to perform at their assigned stations. In particular, the vehicle service system can split the tasks allocated to a particular station between one or more technicians and/or one or more machines.

In some embodiments, the vehicle service system can allocate tasks and/or resources based on time estimates for completing services. For example, the vehicle service system can determine an estimated time to complete each task corresponding to each service to be performed. In some embodiments, the vehicle service system determines estimated times for tasks based on historical data gathered from completing the tasks over time. For example, the vehicle service system can determine the estimated times by averaging observed times for completing each task or generating estimated times using a machine learning model trained to estimate a time to complete a task. Using the estimated times for completing tasks, the vehicle service system can determine a total amount of time (e.g., a total number of minutes) required to perform a given service, a total amount of time to perform the tasks allocated to a given station, and/or the total amount of time to perform tasks across all the stations for a given stage of progression. Based on the estimated times, the vehicle service system can determine how to allocate tasks across stations and/or how to allocate resources across the stations. Furthermore, the vehicle service system can determine an estimated progression rate for a given task allocation and resource allocation. The vehicle service system can then compare the estimated progression rate to the predefined progression rate to determine whether the task allocation and resource allocation are suitable or whether an alternative task allocation and resource allocation is required to satisfy the predefined progression rate. In some embodiments, the vehicle service system iteratively determines task allocations and resource allocations, along with corresponding estimated progression rates, to determine a task allocation and resource allocation with an estimated progression rate that satisfies the predefined progression rate and/or is better than the progression rates for other task and resource allocations. Accordingly, the vehicle service system can identify a task allocation and resource allocation that is likely to result in a progression rate that satisfies the predefined progression rate.

In additional embodiments, the vehicle service system can dynamically respond to various events that might negatively affect vehicle service or jeopardize adherence to a predefined progression rate. In particular, the vehicle service system can monitor a completion status of one or more tasks at each station. Based on the completion status of the one or more tasks, the vehicle service system can update an estimated progression rate and compare the updated estimated progression rate to the predefined progression rate. If the updated estimated progression rate exceeds or fails to satisfy the predefined progression rate, the vehicle service system can dynamically modify the task allocation and/or resource allocation. For example, the vehicle service system can dynamically (e.g., in real time) reassign one or more tasks to a different technician or machine, or to a different stage of progression (e.g., to be completed when the vehicle moves to its next station). To illustrate, the vehicle service system may reassign a task to the one or more machines and cause the one or more machines to complete the reassigned task. In these or other embodiments, the reassigned task may have previously been assigned to a technician or another machine.

Further, in some embodiments, the vehicle service center can customize task allocation user interfaces presented on one or more display devices within the vehicle service center. Customization of task allocation user interfaces can include generating, for display at a first display device and a second display device, a first set of tasks and a second set of tasks, respectively. For example, the vehicle service system may customize the task allocation user interface at the first display device to display tasks for completing one or more services for a first vehicle and at a first station. Likewise, the vehicle service system may customize the task allocation user interface at the second display device to display tasks for completing one or more other services for a second vehicle and at a second station.

In some embodiments, and as mentioned above, the vehicle service system can reassign tasks, for example, based on the completion progress of tasks indicating an estimated progression rate exceeding the predefined progression rate. In turn, the vehicle service system can update the one or more task allocation user interfaces based on a respective set of adjusted tasks to ensure completion of the respective set of adjusted tasks within a time allotment set according to the predefined progression rate. As an example, a set of adjusted tasks may include tasks shifted within a user interface on a same display device (e.g., from being allocated to one technician to being allocated to another technician and/or machine) or tasks offloaded to an entirely different user interface and display device. For instance, the vehicle service system may customize, for display on a first display device within the vehicle service center, a first task allocation user interface in accordance with a first allocation of tasks. Then, in response to a completion progress for the first allocation of tasks indicating failure to satisfy the predefined progression rate, the vehicle service system can generate, for display on the first display device, a second task allocation user interface in accordance with a second allocation of tasks different from the first allocation of tasks.

In accordance with the foregoing and as will be explained in more detail below, the vehicle service system can ensure that vehicles progress through sequential stations of a vehicle service center in accordance with a predefined progression rate, notwithstanding changes in circumstances or potential service delays. This intelligent approach creates predictable wait times and enhances user experiences for vehicle owners. Further, the vehicle service system can reduce system inefficiencies associated with unstructured, spontaneous resource allocation. Additionally, the vehicle service system can reduce an amount of user interactions with user interfaces to manually and subjectively manage resources within a vehicle service center. Accordingly, the embodiments disclosed herein improve the efficiency of a dynamic transportation matching system as it relates to managing service of the vehicles providing transportation services.

Additional features and advantages of one or more embodiments of the present disclosure are outlined in the description which follows.

Turning to the figures, FIG. 1 illustrates an example environment for the vehicle service system 102 that intelligently manages a vehicle service center 105 in order to efficiently service vehicles 110 a-110 n (collectively “vehicles 110) in a service queue 145 in accordance with one or more embodiments of the present disclosure. In particular, the vehicle service system 102 can intelligently allocate tasks and resources to each of stations A, B, and C such that vehicles 110 progress through the stations of the vehicle service center 105 in accordance with a predefined progression rate. The predefined progression rate can include a definite period of time (e.g., about three minutes, about five minutes, about seven minutes, about ten minutes, about fifteen minutes, etc.) that a vehicle can remain at a station before progressing to a subsequent station in the sequence of stations or exit the vehicle service center if at the last station. For example, the vehicle service system 102 may determine task and resource allocations that allow the vehicles 110 to sequentially progress through the stations at a per-station rate that is less than (i.e., faster than) the predefined progression rate.

In more detail, the vehicle service system 102 can analyze vehicle service center data associated with the vehicle service center 105, such as a current resource availability of parts, tools, machines, technicians, etc. In addition, the vehicle service system 102 can analyze vehicle data corresponding to the vehicles 110 in the service queue 145 of the vehicle service center 105. The vehicle service system 102 may access the vehicle data as information associated with the vehicle service center 105 or otherwise obtain the vehicle data from a manufacturer of the vehicles 110 themselves, or transportation provider devices associated therewith. The vehicle data may include information related to respective services of the vehicles 110.

Based on, for example, the vehicle service center data, the vehicle data, and/or the services for the vehicles 110, the vehicle service system 102 can determine a task allocation indicating tasks to be performed for each of the vehicles 110 and at each of the stations. The task allocation is arranged such that respective completion of the one or more services for each of the vehicles 110 and at each of the stations occurs within a corresponding stage of progression (e.g. of seven minutes) according to the predefined progression rate (e.g., of seven minutes per station). In addition, the vehicle service system 102 can cause one or more display devices at the vehicle service center 105 to customize a task allocation user interface with the particular task allocation generated as described above.

Further, in the event of a service issue potentially delaying timely completion of one or more services for a vehicle within a given stage of progression, the vehicle service system 102 can reallocate resources among the stations of the vehicle service center. In some embodiments, the vehicle service system 102 can reallocate resources by dynamically modifying task allocations (e.g., in real-time during the given stage of progression) and, in turn, cause the one or more display devices of the vehicle service center 105 to present a modified task allocation user interface according to the adjusted task allocations. In this manner, the vehicle service system 102 can ensure the vehicles 110 progress through the vehicle service center according to the predefined progression rate.

Additionally, and as mentioned above, the vehicle service system 102 can intelligently dispatch the vehicles 110 to the vehicle service center 105. Alternatively, the dispatching may be performed by a dynamic transportation matching system that receives transportation match requests from a requestor computing device and provides a generated transportation match to a provider computing device and/or one of the vehicles 110. Vehicles 110 can also transport the requestor associated with the requestor computing device to a location specified in the transportation match request.

Furthermore, although not depicted in FIG. 1, the example environment for the vehicle service system 102 may include one or more devices, including a computing device (e.g., a vehicle service center manager client device), smart displays at the stations for presenting task allocations, various types of technician devices, etc. that are communicatively coupled to each other and/or a suitable network. In this manner, the vehicle service system 102 can communicate with personnel, machines (e.g., robots and equipment), etc. at the vehicle service center 105.

As further shown, in one or more embodiments, the vehicle service system 102 is independent of a dynamic transportation matching system implemented on one or more additional server(s), which are therefore pictorially omitted from FIG. 1. Likewise, the vehicle service system 102, which can be implemented as part of the vehicle service center 105, can communicate directly with the vehicle service center 105 without a network (also pictorially omitted from FIG. 1). However, in other embodiments, the vehicle service system 102 may communicate with the vehicle service center 105 (including any associated devices) via one or more networks and may use one or more communication platforms or technologies suitable for transmitting data and/or communication signals. In one or more embodiments, the network includes a cellular network. The network can additionally include the Internet or World Wide Web. Additionally or alternatively, the network can include various other types of networks that use various communication technologies and protocols, such as a corporate intranet, a virtual private network (“VPN”), a local area network (“LAN”), a wireless local network (“WLAN”), a wide area network (“WAN”), a metropolitan area network (“MAN”), or a combination of two or more such networks.

Further, in these or other embodiments, the vehicle service system 102 may perform one or more acts of the present disclosure described in conjunction with a dynamic transportation matching system or a network environment associated therewith as described more in relation to FIG. 9. Additionally or alternatively, the dynamic transportation matching system may perform one or more acts of the present disclosure described in conjunction with the vehicle service system 102. Further, the vehicle service system 102 and vehicles 110 (and/or provider devices respectively associated therewith) can communicate with each other via a network as just described.

As mentioned above, the vehicle service system 102 can generate a task allocation and resource allocation. FIG. 2 illustrates an example vehicle service center and corresponding allocation of resources in accordance with one or more embodiments of the present disclosure. In particular, FIG. 2 illustrates a resource allocation for a single stage of progression during which vehicles 204-208 are positioned in respective stations of the vehicle service center for performance of corresponding services.

In more detail, the resource allocation includes various technicians and a component allocation of machines 230 a-230 g and components 236 a-236 c. By way of example, the component allocation of machines 230 a-230 g comprises equipment and robots, such as an autonomous oil drain 230 a, robots 230 b and 230 f, programmable hoists 230 c-230 d, tire changing equipment 230 e, and a power washer 230 g. Additionally, for example, the component allocation of components 236 a includes parts such as new oil containers and oil filters, and various tools for changing oil of a vehicle. Similarly, for example, the components 236 b include parts such as flat repair patches, wheel-balance weights, valve stems, pressure sensors, etc., and various tools such as an air gun, lug nut sockets, and torque wrench for performing a tire rotation. Further, the component allocation of the components 236 c includes parts such as spray bottles, cleaner, windshield wiper blades, wiper fluid, brake fluid, engine belts, etc., and various tools for performing a routine service such as a vacuum.

In these or other embodiments, the vehicle service system 102 dynamically manages the component allocation of the machines 230 a-230 g and the components 236 a-236 c, for example, according to the service queue and associated vehicles (e.g., the vehicles 204-208) with corresponding services. For instance, the vehicle service system 102 may provide instructions to the robot 230 b to stock, for the given stage of progression, the tool chests and the parts shelves with the components 236 a-236 c that correspond to the respective services for the vehicle 208, the vehicle 206, and the vehicle 204. Likewise, the vehicle service system 102 may instruct one or more of the machines 230 a-230 g to be positioned, for the given stage of progression, in certain stations in accordance with the services of the vehicles 204-208.

In a next stage of progression, a next vehicle enters Station A, the vehicle 208 and the vehicle 206 advance to the next stations, and the vehicle 204 exits the vehicle service center. Accordingly, the vehicle service system 102 may instruct the robot 230 b to stock, for the next stage of progression, the tool chests and the parts shelves with the components 236 a-236 c that correspond to the respective services for the next vehicle, the vehicle 208, and the vehicle 206, and so forth. Likewise, the vehicle service system 102 may instruct one or more of the machines 230 a-230 g to be positioned, for the next stage of progression, in certain stations in accordance with the services of the next vehicle and the vehicles 206-208. In this manner, the vehicle service system 102 can dynamically manage the component allocation, including inventory, real-time stocking/availability, positioning, etc. for the machines 230 a-230 g and the components 236 a-236 c in accordance with the service queue (i.e., specific vehicles and their corresponding services).

As additionally shown in FIG. 2, the vehicle service system 102 can generate a resource allocation and display the generated resource allocation via resource allocation displays 228 a-228 c (e.g., for technician reference) and at a vehicle service center manager client device 234. The vehicle service system 102 can also receive user inputs from the vehicle service center manager client device 234 to modify a resource allocation, for example, as recommended by the vehicle service system 102 or according to user preference.

Furthermore, and in accordance with the resource allocation of tasks and components, the vehicle service system 102 can monitor, via monitoring devices 232, a completion progress of tasks for performing one or more services of each vehicle during a given stage of progression. The monitoring devices 232 may include one or more types of video surveillance devices. Additionally or alternatively, the monitoring devices 232 may include wearable devices (not shown) and/or personal client devices (not shown) that are configured for receiving audio and/or video inputs. Thus, in some embodiments, the vehicle service system 102 may track completed tasks, one or more current tasks in-progress, and tasks yet begun (e.g., on a task-allocation basis for each technician and machine).

To track a completion progress of tasks, the vehicle service system 102 may use image recognition techniques to process (in real-time) video data comprising interactions between the vehicles 204-208 and those instructed to perform tasks according to a task allocation, namely the machines 230 a-230 g (e.g., the robots and equipment) and the technicians. For instance, the vehicle service system 102 may use video data action markers that indicate what tasks are being performed, such as video data comprising an action marker of opening a vehicle hood, taking lug nuts off of a wheel, hoisting the vehicle into the air, etc. Accordingly, in some embodiments, the vehicle service system 102 includes artificial intelligence systems capable of comparing training data with ground truth data to learn which interactions (e.g., action markers) correspond to performance of which tasks. Additionally or alternatively (in the embodiment of a personal monitoring device 232 such as a cell phone, tablet, smart watch, body camera, or smart eyewear), the vehicle service system 102 may receive from the personal monitoring device (i) audio confirmation of task completion from technicians such as voice confirmations, (ii) haptic feedback from a tap or swipe gesture to indicate a task is in-progress or complete, (iii) a visual cue, etc. In this manner, the vehicle service system 102 can receive, from one or more of the monitoring devices 232, an indication of a completed task associated with a task allocation. Additionally or alternatively, the machines 230 a-230 g may send communications to the vehicle service system 102 regarding the completion progress of one or more tasks (e.g., via a wireless connection such as a Bluetooth® connection).

In accordance with the monitoring of the completion progress of tasks prescribed by a resource allocation, the vehicle service system 102 may update one or more displays in the vehicle service center, for example, the resource allocation displays 228 a-228 c and the vehicle service center manager client device 234 (e.g., as described more below in relation to FIGS. 3A-3B). Additionally or alternatively, the vehicle service system 102 may suggest to the vehicle service center manager client device 234, in response to the monitoring of the completion progress of tasks, one or more selectable options for modifying a resource allocation.

Further, based on the monitored completion status of tasks, the vehicle service system 102 can detect (via a comparison) that an estimated progression rate is on pace with or likely satisfies the predefined progression rate, or else off pace with or is likely to exceed the predefined progression rate. For example, the vehicle service system 102 may compare an amount of time remaining in a given stage of progression with an estimated time needed to perform one or more remaining tasks of a service. If the estimated time needed to perform one or more remaining tasks exceeds the remaining time in the given stage of progression, the vehicle service system 102 may determine that a current progression of the one or more vehicles will likely fail to satisfy the predefined progression rate of vehicles through the stations of the vehicle service center.

As just discussed, the vehicle service center can update, based on the monitored completion progress of tasks, one or more displays in the vehicle service center. FIGS. 3A-3B respectively illustrate a graphical presentation of a first task allocation 308 and a second task allocation 310 in task allocation user interfaces 306 a-306 b on a computing device 302 in accordance with one or more embodiments of the present disclosure. The computing device 302 may be the same as or similar to the resource allocation displays 228 a-228 c described above in relation to FIG. 2. Additionally or alternatively, the computing device 302 may include a smart television, cell phone, tablet, body camera, smart watch, smart eyewear (e.g., the augmented reality glasses described below in relation to FIG. 4), or another suitable device for use in the vehicle service center.

As shown in FIG. 3A, the vehicle service system 102 has caused the computing device 302 to customize, based on a generated task allocation, the task allocation user interface 306 a as including a first set of tasks for Technician A, a second set of tasks for Technician B, a third set of tasks for Technician C, and a fourth set of tasks for Technician D. Based on this task allocation, the vehicle service system 102 estimates a completion time of six and a half minutes at the start of a given stage of progression (as denoted by an amount of elapsed time of “0:00”). Additionally, in some embodiments, the vehicle service system 102 utilizes a lighting element 304 in conjunction with the computing device 302, whether physically coupled to the computing device 302 as illustrated or otherwise adjacent to the computing device 302.

In these or other embodiments, the lighting element 304 visually indicates a representation of how a current progression of the one or more vehicles compares to the predefined progression rate of vehicles through the stations of the vehicle service center. For example, the vehicle service system 102 may cause the lighting element 304 to emit a green-colored light (or no light as depicted in FIG. 3A) when the vehicle service system 102 determines that a current progression (e.g., according to the monitored completion progress described above) comports with the predefined progression rate. In another example, the vehicle service system 102 may cause a yellow-colored light to emit from the lighting element 304 when the vehicle service system 102 detects that a current progression (e.g., according to the monitored completion progress) is slower than the estimated completion time but still within the confines of the predefined progression rate. Further, in some embodiments, the vehicle service system 102 may cause a red-colored light to emit from the lighting element 304 when the vehicle service system 102 detects that a current progression (e.g., according to the monitored completion progress) is not within the confines of the predefined progression rate. Other colors, patterns, symbols, signs, and notifications are herein contemplated to aid implementation of the dynamic response at the vehicle service system 102. For example, the vehicle service system 102 may cause the lighting element 304 to indicate a certain visual cue (e.g., colored light emission) in response to a modification of the task allocation as illustrated in FIG. 3B.

In more detail, FIG. 3B illustrates a dynamic response of the vehicle service system 102 to ensure that servicing of vehicles adheres to the predefined progression rate. For example, in response to detecting the progression of one or more vehicles through the stations of the vehicle service center is likely to exceed the predefined progression rate (based on a completion progress of tasks), the vehicle service system 102 can reassign during the given stage of progression at least one task to one or more of the machines 230 a-230 g (described above in relation to FIG. 2) and/or to a technician. In some embodiments, the delayed progression of one or more vehicles through the vehicle service center may be due to encountered service problems, unexpected inefficiencies, etc. As an example problem for the vehicle at Station B, the vehicle service system 102 may determine (e.g., via one or more of the monitoring devices 232) that the lug nuts securing one of the wheels to the vehicle at Station B may be stripped such that technicians in Station B are initially unable to remove the wheel to perform a tire rotation.

Accordingly, the vehicle service system 102 can reassign one or more tasks among the technicians and/or the machines 230 a-230 g to ensure the problematic wheel does not interfere with a progression of the vehicles through the vehicle service center according to the predefined progression rate. Then, based on the reassignment of tasks, the vehicle service system 102 can update the task allocation user interface 306 a in FIG. 3A to illustrate the task allocation user interface 306 b as shown in FIG. 3B. In this manner, the vehicle service system 102 can communicate the reassignment of tasks, for example, by causing the computing device 302 in the vehicle service center to present an adjusted task allocation according to the reassignment of tasks.

Specifically, as shown for example in FIG. 3B, the vehicle service system 102 may visually display the reassignment of one or more tasks originally assigned to a technician of Station A (who is now directed to Station B with newly assigned tasks related to the problematic wheel) to one or more other technicians or machines of Station A, including Technician B and Technician C. In particular, the vehicle service system 102 may determine, based on the monitored completion progress and the elapsed time of “3:16” in a seven minute stage of progression as shown in FIG. 3B, an estimated completion time of one minute and forty-five seconds for the oil change at Station A. As such, the vehicle service system 102 may determine that Station A is well ahead of the predefined progression rate and can therefore spare Technician A at Station A to instead help Station B with the problematic wheel. In turn, the vehicle service system 102 may cause the computing device 302 to indicate in the task allocation user interface 306 b a new task for Technician A to “Proceed to Station B for new tasks.” Accordingly, the vehicle service system 102 can allow for completion of reassigned tasks at both Station A and Station B before expiration of the given stage of progression such that the vehicles can progress through the vehicle service center according to the predefined progression rate.

As mentioned above, the vehicle service system 102 can utilize resource allocation displays to dynamically present task allocations in the vehicle service center in addition to utilizing personal monitoring devices for evaluating a completion progress of tasks. FIG. 4 illustrates a technician device 402 for communicating with the vehicle service system 102 in accordance with one or more embodiments of the present disclosure. As shown, the technician device 402 is depicted in the form of smart glasses configured to provide an augmented reality (hereafter “AR”) display 404 in the lenses of the smart glasses. However, the technician device 402 may include any wearable glass device, head-mounted device, body camera, eye-piece, optical lens (surface worn or intraocular implant), etc. to provide an AR experience to the technician via the AR display 404.

As further shown in FIG. 4, the AR display 404 includes tasks 406 and instructions 408 for performing the tasks 406. In this regard, the technician device 402 can, in some embodiments, include any display functionality of the resource allocation displays 228 a-228 c and the computing device 302 described above for dynamically presenting a task allocation. For example, the vehicle service system 102 may send the tasks 406 and/or the corresponding instructions 408 to the technician device 402 in accordance with the determined task allocation as described above. Additionally or alternatively, the tasks 406 may include one or more tasks that are part of an adjusted task allocation as also described above. Further, the vehicle service system 102 can cause the technician device 402 to display the tasks 406 as including completed tasks of “Check air filter” and “Check brake fluid” with the remaining tasks as uncompleted.

As the technician performs each of the tasks 406, the technician can provide input via a feedback mechanism of the technician device 402 to confirm completion of the tasks 406. Additionally or alternatively, the vehicle service system 102 may receive image/video data from the technician device 402 confirming completion of the tasks 406 (e.g., as described above in conjunction with the monitoring devices 232 of FIG. 2). In such a case, the technician device 402 may include a camera device configured to capture image data for sending to the vehicle service system 102. Additionally or alternatively, the vehicle service system 102 may determine via artificial intelligence that one of the tasks 406 is complete. For example, in response to receiving the captured image data at the vehicle service system 102 depicting one of the tasks 406 being performed, the artificial intelligence system may determine the technician successfully completed the tasks 406 and cause the AR display 404 to indicate completion of the same.

Additionally, the instructions 408 include by way of example some instructions for performing a task on a vehicle (e.g., to perform a next task 406). Given an uncompleted task 406 of “Check serpentine belt,” the instructions 408 can correspond to step-wise instructions for completing the task 406 of “Check serpentine belt.” Further, the AR display 404 includes an AR pointer 410 that is associated with the instructions 408. For example, the AR pointer 410 may identify, from within the AR display 404, real-world objects and/or people in a field-of-view of the technician device 402 to aid the technician perform the tasks 406 (in this instance, identify cracks in the serpentine belt requiring replacement of the serpentine belt). Additionally or alternatively, the technician device 402 may use simultaneous localization and mapping (SLAM) technology during servicing of the vehicle to detect the completion of tasks or problems with a vehicle.

As mentioned above, the vehicle service system 102 can communicate with a vehicle service center manager client device 234, for example, regarding a task allocation of one or more vehicles in a service queue. FIGS. 5A-5D illustrate respective management user interfaces 504 and 508 a-508 c on a client device 502 for managing a service queue of a vehicle service center in accordance with one or more embodiments of the present disclosure. In these or other embodiments, the client device 502 may be the same as or similar to the vehicle service center manager client device 234 as described above in conjunction with FIG. 2.

As shown in FIG. 5A, the management user interface 504 comprises a number of columns with various inputs regarding data of the transportation provider, an associated vehicle, service history (e.g., the “notes”), arrival time, service progress, among others (as denoted by the ellipses). In addition, the management user interface 504 comprises a position-adjustment tab 506 for each vehicle in the service queue. In more detail, the position-adjustment tab 506 allows a user (e.g., a vehicle service center manager) to provide a user input at the position-adjustment tab 506 and correspondingly modify a position of the vehicle within the service queue. In response to such a modification, the vehicle service system 102 can generate an adjusted task allocation in accordance with the adjusted position of the vehicles in the service queue and correspondingly update one or more display devices in the vehicle service center.

As an example, the management user interface 504 may receive an input at the position-adjustment tab 506 for the 2019 Chevrolet Volt associated with Luke Holmes to move this vehicle between vehicles associated with Ben Johnson and Adi Green. In response to such a modification, the vehicle service system 102 may provide an adjusted task allocation to the client device 502 and/or one or more other display devices in the vehicle service center (e.g., the task allocation displays 228 a-228 c of FIG. 2A) in accordance with the adjusted position of the 2019 Chevrolet Volt associated with Luke Holmes between positions of vehicles associated with Ben Johnson and Adi Green.

Further, in some embodiments, the management user interface 504 may disallow positional adjustment of vehicles in the virtual queue once in-service as reflected in the “Progress Time” column. Additional features of the management user interface 504 are herein contemplated. For example, the management user interface 504 can include various tabs of vehicle categories in the virtual queue (e.g., “Active and Upcoming,” “Check In,” “In Progress,” “Completed,” “Canceled,” etc.). In addition, information provided within the management user interface 504 in some embodiments is searchable.

Additionally or alternatively, in some embodiments, the vehicle service system 102 may suggest to the client device 502, in response to the monitoring of the completion progress of tasks, one or more selectable options for modifying a resource allocation. For example, the vehicle service system 102 may cause the management user interface 504 to display a listing or other graphical representation of resource reallocation options, and request the user to make a selection. If no selection is made within a threshold period of time, the vehicle service system 102 may auto-select one of the recommended options and proceed with the resource reallocation accordingly.

Further to FIG. 5A, FIGS. 5B-5D illustrate the management user interfaces 508 a-508 c for checking-in a vehicle in accordance with one or more embodiments of the present disclosure. For example, in response to a user input at a check-box in the “Expected Arrival+Check In” column of the management user interface 504, the vehicle service system 102 may cause the client device 502 to display the management user interface 508 a in FIG. 5B. As shown, FIG. 5B illustrates the management user interface 508 a as including a menu 510 with selectable options for indicating a reason the vehicle is at the vehicle service center (e.g., why Bob Wagner is visiting the vehicle service center). Further shown, the reasons for visit can include, for example, a car wash, collision repair, express maintenance, maintenance, service, support, etc.

In these or other embodiments, the vehicle service system 102 can receive a selected response at the menu 510 and, in turn, place the associated vehicle in a corresponding service queue. For example, the vehicle service system 102 may opt to associate a vehicle in for “collision repair” with a service queue having a different predefined progression rate than another vehicle in for “maintenance.” Alternatively, a vehicle in for a “car wash” may proceed through the same service queue as other vehicles in for “maintenance,” in which case the vehicle service system 102 would display, at one or more stations in associated with the “car wash” vehicle, an indication representing no maintenance services are needed or carwash only. Thus, in some embodiments, each selectable option in the menu 510 may be associated with one or more service queues and/or predefined progression rates.

FIG. 5C illustrates the management user interface 508 b as including the menu 510 (with a selected option of “maintenance”) and a menu 512 with selectable options for indicating the vehicle to be serviced in the vehicle service center. As shown, the vehicle options can include, for example, one or more of the vehicles identified in the management user interface 504. Additionally or alternatively, the vehicle options can include one or more vehicles associated with a transportation provider profile (e.g., Bob Wagner's 2017 Honda Civic).

FIG. 5D illustrates the management user interface 508 c as including the menu 510 (with a selected option of “maintenance”), the menu 512 (with a selected option of “2017 Honda Civic”), and a menu 514 with a selectable option to add a note regarding maintenance service of the vehicle. In addition, the management user interface 508 c includes selectable options 516 to “cancel” or “finish” the check-in process as just described in relation to FIGS. 5B-5D. In response to a user input at the “finish” option of the selectable options 516, the vehicle service system 102 may increase the number of checked-in vehicles from one to two (illustrated in a main tab of the management user interface 504), in addition to generate and/or render for display a task allocation to present at one or more display devices in the vehicle service center as disclosed herein.

FIG. 6 illustrates a schematic diagram of an example embodiment of the vehicle service system 102 arranged according to at least one embodiment of the present disclosure. As shown in FIG. 6, the vehicle service system 102 includes various components for performing the processes and features described herein. For example, as shown in FIG. 6, the vehicle service system 102 includes a vehicle data manager 602, a vehicle service center data manager 604, a display manager 606, a dynamic response manager 608, an artificial intelligence data manager 610, and a storage manager 612.

Each of the components 602-612 of the vehicle service system 102 can be implemented using a computing device including at least one processor executing instructions that cause the performance of the processes described herein. In some embodiments, the components 602-612 of the vehicle service system 102 can be implemented on a single server or across multiple servers. Additionally or alternatively, a combination of one or more server devices and one or more computing devices can implement the components described herein in a different arrangement than illustrated in FIG. 6. Additionally or alternatively, the components described herein can comprise a combination of computer-executable instructions and hardware.

As illustrated in FIG. 6, the vehicle service system 102 includes the vehicle data manager 602. In one or more embodiments, the vehicle data manager 602 handles the sending, receiving, storing, and/or requesting of vehicle data. For example, the vehicle data manager 602 can initiate from the vehicle service system 102 a request of vehicle data to the transportation provider device or associated vehicle (e.g., to determine a complexity of one or more services for the vehicle). Additionally, the vehicle data manager 602 can receive vehicle data transmitted from the vehicle and/or the transportation provide device to the vehicle service system 102. Further, the vehicle data manager 602 can receive vehicle data input via one or more computing devices at the vehicle service center, for example, during a check-in or check-out process.

Also as illustrated in FIG. 6, the vehicle service system 102 includes the vehicle service center data manager 604. In some embodiments, the vehicle service center data manager 604 handles the sending, receiving, storing and/or requesting of vehicle service center data. For example, the vehicle service center data manager 604 can initiate from the vehicle service system 102 a request of vehicle service center data of the vehicle service center (e.g., data associated with the service queue, a progression of vehicles relative to a predefined progression rate, etc.). Additionally, the vehicle service center data manager 604 can receive vehicle service center data transmitted from a client device (including the vehicle service center manager client device 234 via a graphical user interface) to the vehicle service system 102.

FIG. 6 further illustrates that the vehicle service system 102 includes the display manager 606. The display manager 606 can provide, manage, and/or control a graphical user interface (or simply “user interface”). In particular, the display manager 606 may generate and display a user interface by way of a display screen composed of a plurality of graphical components, objects, and/or elements that allow a user to perform a function. For example, the display manager 606 can receive user inputs from a user, such as a click/tap to modify a task allocation or vehicle position in a service queue, check-in a vehicle at the vehicle service center, etc. Additionally, the display manager 606 can present a variety of types of information, including text, digital media items, suggestions, visual indicators regarding a completion progress relative to a predefined progression rate, or other information (e.g., regarding a task allocation or an adjusted task allocation).

Additionally illustrated in FIG. 6, the vehicle service system 102 includes the dynamic response manager 608. In some embodiments, the dynamic response manager 608 can provide a dynamic response for servicing vehicles in response to changes to the vehicle service center data, service issues during a given stage of progression, etc. For example, the dynamic response manager 608 can reallocate resources within the vehicle service center and instruct one or more machines to perform reassigned tasks according to a modified task allocation. Additionally or alternatively, the dynamic response manager 608 can coordinate with the display manager 606 to dynamically display an adjusted task allocation during the given stage of progression in response to a detected service issue.

As further illustrated in FIG. 6, the vehicle service system 102 includes the artificial intelligence data manager 610. In some embodiments, the artificial intelligence data manager 610 handles the model selection, training, learning, validation, and/or other aspects of machine learning. For example, the artificial intelligence data manager 610 can iteratively analyze action markers to monitor a completion progress of tasks. In some embodiments, the artificial intelligence data manager 610 can further analyze post-servicing of a vehicle to determine a next service process and/or distribution of tasks to perform such services. Additionally, the artificial intelligence data manager 610 can learn a vehicle on-the-fly in the vehicle service center to identify an unknown vehicle and provide a first service most fitting for the vehicle and its current condition.

Additionally illustrated in FIG. 6, the vehicle service system 102 includes the storage manager 612 configured to store any suitable type of data. As shown, the storage manager 612 can store a predefined progression rate 614, a parameter dictating how long each vehicle can spend at each station within the vehicle service center. In some embodiments, the storage manager 612 can store this parameter and/or any other parameters. Additionally, the storage manager 612 can permit adjustment, configuration, and/or optimization of the predefined progression rate 614 and other parameters as applicable.

FIGS. 1-6, the corresponding text, and the examples provide several different systems, methods, techniques, components, and/or devices of the vehicle service system 102 in accordance with one or more embodiments. In addition to the above description, one or more embodiments can also be described in terms of flowcharts including acts for accomplishing a particular result. For example, FIG. 7 illustrates a flowchart of a series of acts 700 for dynamically displaying a resource allocation at one or more computing devices of a vehicle service center in accordance with one or more embodiments of the present disclosure. The vehicle service system 102 may perform one or more acts of the series of acts 700 in addition to or alternatively to one or more acts described in conjunction with other figures. While FIG. 7 illustrates acts according to one embodiment, alternative embodiments may omit, add to, reorder, and/or modify any of the acts shown in FIG. 7. The acts of FIG. 7 can be performed as part of a method. Alternatively, a non-transitory computer-readable medium and/or one or more memory devices can comprise instructions that, when executed by one or more processors, cause a computing device or system to perform the acts of FIG. 7. Accordingly, in some embodiments, a system can perform the acts of FIG. 7.

As shown, the series of acts 700 includes an act 702 of analyzing information associated with one or more vehicles scheduled for service at a vehicle service center comprising a set of sequential stations. The series of acts 700 further includes an act 704 of determining, based on the information associated with the one or more vehicles, a respective set of tasks for completion at each of the sequential stations in accordance with a predefined progression rate. Further, an act in the series of acts 700 includes an act 706 of customizing, for display on one or more display devices within the vehicle service center, one or more task allocation user interfaces in accordance with the respective set of tasks.

In addition, an act in the series of acts 700 includes an act 708 of monitoring, relative to the predefined progression rate, a completion progress for the respective set of tasks. In these or other embodiments, the completion progress for the respective set of tasks indicates an estimated progression rate of the one or more vehicles through the sequential stations exceeds the predefined progression rate. The series of acts 700 additionally includes an act 710 of generating, based on the completion progress, a respective set of adjusted tasks. The series of acts 700 further includes an act 712 of updating the one or more task allocation user interfaces based on the respective set of adjusted tasks.

It is understood that the outlined acts in the series of acts 700 are only provided as examples, and some of the acts may be optional, combined into fewer acts, or expanded into additional acts without detracting from the essence of the disclosed embodiments. As an example of one or more additional or alternative acts not shown in FIG. 7, act(s) in the series of acts 700 may include: providing, for display on a client device, a management user interface for managing the one or more vehicles scheduled for service at the vehicle service center; detecting, based on one or more interactions with the management user interface, one or more changes to a service queue, the one or more changes comprising an adjusted position in the service queue of a first vehicle relative to a second vehicle; and generating a set of adjusted tasks in accordance with the adjusted position in the service queue of the first vehicle relative to the second vehicle.

As another example of one or more additional or alternative acts not shown in FIG. 7, act(s) in the series of acts 700 may include: modifying, in response to detecting the estimated progression rate exceeds the predefined progression rate, at least one task of the respective set of tasks to generate the respective set of adjusted tasks; and updating the one or more task allocation user interfaces in accordance with the respective set of adjusted tasks to enable completion of the respective set of adjusted tasks within a time allotment set according to the predefined progression rate.

Further, another example of one or more additional or alternative acts not shown in FIG. 7, act(s) in the series of acts 700 may include: customizing, for display on a first display device within the vehicle service center, a first task allocation user interface in accordance with the respective set of tasks comprising a first allocation of tasks; determining, based on the completion progress comprising a first completion progress for the first allocation of tasks, an estimated progression rate of the one or more vehicles through the sequential stations exceeds the predefined progression rate; and generating, for display on the first display device, a second task allocation user interface in accordance with the respective set of adjusted tasks comprising a second allocation of tasks different from the first allocation of tasks.

In yet another example of one or more additional or alternative acts not shown in FIG. 7, act(s) in the series of acts 700 may include initiating, via one or more lighting elements at each sequential station, visual cues corresponding to respective statuses associated with the completion progress for each of the respective set of tasks. Still further, another example of one or more additional or alternative acts not shown in FIG. 7, act(s) in the series of acts 700 may include: receiving, from a monitoring device, an indication of a completed task associated with at least one of the respective set of tasks; and updating the one or more task allocation user interfaces based further on the received indication of the completed task.

FIG. 8 illustrates a block diagram of an example computing device 800 that may be configured to perform one or more of the processes described above. One will appreciate that one or more computing devices, such as the computing device 800 may represent the computing devices described above (e.g., a vehicle computing device, a transportation provider device, the vehicle service center manager client device 234, the computing device 302, the technician device 402, the client device 502, etc.). In one or more embodiments, the computing device 800 may be a mobile device (e.g., mobile telephone, smartphone, PDA, tablet, laptop, camera, tracker, watch, wearable device, etc.). In some embodiments, the computing device 800 may be a non-mobile device (e.g., a desktop computer or another type of client device). Further, the computing device 800 may be a server device that includes cloud-based processing and storage capabilities.

As shown in FIG. 8, the computing device 800 can include one or more processor(s) 802, memory 804, a storage device 806, input/output interfaces 808 (or “I/O interfaces 808”), and a communication interface 810, which may be communicatively coupled by way of a communication infrastructure (e.g., bus 812). While the computing device 800 is shown in FIG. 8, the components illustrated in FIG. 8 are not intended to be limiting. Additional or alternative components may be used in other embodiments. Furthermore, in certain embodiments, the computing device 800 includes fewer components than those shown in FIG. 8. Components of the computing device 800 shown in FIG. 8 will now be described in additional detail.

In particular embodiments, the processor(s) 802 includes hardware for executing instructions, such as those making up a computer program. As an example, and not by way of limitation, to execute instructions, the processor(s) 802 may retrieve (or fetch) the instructions from an internal register, an internal cache, memory 804, or a storage device 806 and decode and execute them.

The computing device 800 includes memory 804, which is coupled to the processor(s) 802. The memory 804 may be used for storing data, metadata, and programs for execution by the processor(s). The memory 804 may include one or more of volatile and non-volatile memories, such as Random-Access Memory (“RAM”), Read-Only Memory (“ROM”), a solid-state disk (“SSD”), Flash, Phase Change Memory (“PCM”), or other types of data storage. The memory 804 may be internal or distributed memory.

The computing device 800 includes a storage device 806 includes storage for storing data or instructions. As an example, and not by way of limitation, the storage device 806 can include a non-transitory storage medium described above. The storage device 806 may include a hard disk drive (HDD), flash memory, a Universal Serial Bus (USB) drive or a combination these or other storage devices.

As shown, the computing device 800 includes one or more I/O interfaces 808, which are provided to allow a user to provide input to (such as user strokes), receive output from, and otherwise transfer data to and from the computing device 800. These I/O interfaces 808 may include a mouse, keypad or a keyboard, a touch screen, camera, optical scanner, network interface, modem, other known I/O devices or a combination of such I/O interfaces 808. The touch screen may be activated with a stylus or a finger.

The I/O interfaces 808 may include one or more devices for presenting output to a user, including, but not limited to, a graphics engine, a display (e.g., a display screen), one or more output drivers (e.g., display drivers), one or more audio speakers, and one or more audio drivers. In certain embodiments, I/O interfaces 808 are configured to provide graphical data to a display for presentation to a user. The graphical data may be representative of one or more graphical user interfaces and/or any other graphical content as may serve a particular implementation.

The computing device 800 can further include a communication interface 810. The communication interface 810 can include hardware, software, or both. The communication interface 810 provides one or more interfaces for communication (such as, for example, packet-based communication) between the computing device and one or more other computing devices or one or more networks. As an example, and not by way of limitation, communication interface 810 may include a network interface controller (NIC) or network adapter for communicating with an Ethernet or other wire-based network or a wireless NIC (WNIC) or wireless adapter for communicating with a wireless network, such as a WI-FI. The computing device 800 can further include a bus 812. The bus 812 can include hardware, software, or both that connects components of the computing device 800 to each other.

FIG. 9 illustrates an example network environment 900 of a transportation matching system. The network environment 900 includes a client device 906, a transportation matching system 902, and a vehicle subsystem 908 connected to each other by a network 904. Although FIG. 9 illustrates a particular arrangement of the client device 906, the transportation matching system 902, the vehicle subsystem 908, and the network 904, this disclosure contemplates any suitable arrangement of the client device 906, the transportation matching system 902, the vehicle subsystem 908, and the network 904. As an example, and not by way of limitation, two or more of the client device 906, the transportation matching system 902, and the vehicle subsystem 908 communicate directly, bypassing the network 904. As another example, two or more of the client device 906, the transportation matching system 902, and the vehicle subsystem 908 may be physically or logically co-located with each other in whole or in part. Moreover, although FIG. 9 illustrates a particular number of the client devices 906, the transportation matching systems 902, the vehicle subsystems 908, and the networks 904, this disclosure contemplates any suitable number of the client devices 906, the transportation matching systems 902, the vehicle subsystems 908, and the networks 904. As an example, and not by way of limitation, the network environment 900 may include multiple client devices 906, the transportation matching systems 902, the vehicle subsystems 908, and the networks 904.

This disclosure contemplates any suitable network 904. As an example, and not by way of limitation, one or more portions of the network 904 may include an ad hoc network, an intranet, an extranet, a virtual private network (VPN), a local area network (LAN), a wireless LAN (WLAN), a wide area network (WAN), a wireless WAN (WWAN), a metropolitan area network (MAN), a portion of the Internet, a portion of the Public Switched Telephone Network (PSTN), a cellular telephone network, or a combination of two or more of these. The network 904 may include one or more networks 904.

Links may connect the client device 906, the transportation matching system 902, and the vehicle subsystem 908 to the communication network 904 or to each other. This disclosure contemplates any suitable links. In particular embodiments, one or more links include one or more wireline (such as for example Digital Subscriber Line (DSL) or Data Over Cable Service Interface Specification (DOCSIS), wireless (such as for example Wi-Fi or Worldwide Interoperability for Microwave Access (WiMAX), or optical (such as for example Synchronous Optical Network (SONET) or Synchronous Digital Hierarchy (SDH) links. In particular embodiments, one or more links each include an ad hoc network, an intranet, an extranet, a VPN, a LAN, a WLAN, a WAN, a WWAN, a MAN, a portion of the Internet, a portion of the PSTN, a cellular technology-based network, a satellite communications technology-based network, another link, or a combination of two or more such links. Links need not necessarily be the same throughout the network environment 900. One or more first links may differ in one or more respects from one or more second links.

In particular embodiments, the client device 906 may be an electronic device including hardware, software, or embedded logic components or a combination of two or more such components and capable of carrying out the appropriate functionalities implemented or supported by the client device 906. As an example, and not by way of limitation, a client device 906 may include any of the computing devices discussed above in relation to FIG. 9. A client device 906 may enable a network user at the client device 906 to access a network. A client device 906 may enable its user to communicate with other users at other client devices 906.

In particular embodiments, the client device 906 may include a transportation service application or a web browser, such as MICROSOFT INTERNET EXPLORER, GOOGLE CHROME or MOZILLA FIREFOX, and may have one or more add-ons, plug-ins, or other extensions, such as TOOLBAR or YAHOO TOOLBAR. A user at the client device 906 may enter a Uniform Resource Locator (URL) or other address directing the web browser to a particular server (such as server), and the web browser may generate a Hyper Text Transfer Protocol (HTTP) request and communicate the HTTP request to server. The server may accept the HTTP request and communicate to client device 906 one or more Hyper Text Markup Language (HTML) files responsive to the HTTP request. The client device 906 may render a webpage based on the HTML files from the server for presentation to the user. This disclosure contemplates any suitable webpage files. As an example, and not by way of limitation, webpages may render from HTML files, Extensible Hyper Text Markup Language (XHTML) files, or Extensible Markup Language (XML) files, according to particular needs. Such pages may also execute scripts such as, for example and without limitation, those written in JAVASCRIPT, JAVA, MICROSOFT SILVERLIGHT, combinations of markup language and scripts such as AJAX (Asynchronous JAVASCRIPT and XML), and the like. Herein, reference to a webpage encompasses one or more corresponding webpage files (which a browser may use to render the webpage) and vice versa, where appropriate.

In particular embodiments, the transportation matching system 902 may be a network-addressable computing system that can host a ride share transportation network. The transportation matching system 902 may generate, store, receive, and send data, such as, for example, user-profile data, concept-profile data, text data, ride request data, GPS location data, provider data, requester data, vehicle data, or other suitable data related to the ride share transportation network. This may include authenticating the identity of providers and/or vehicles who are authorized to provide ride services through the transportation matching system 902. In addition, the transportation service system may manage identities of service requestors such as users/requesters. In particular, the transportation service system may maintain requester data such as driving/riding histories, personal data, or other user data in addition to navigation and/or traffic management services or other location services (e.g., GPS services).

In particular embodiments, the transportation matching system 902 may manage ride matching services to connect a user/requester with a vehicle and/or provider. By managing the ride matching services, the transportation matching system 902 can manage the distribution and allocation of vehicle subsystem resources and user resources such as GPS location and availability indicators, as described herein.

The transportation matching system 902 may be accessed by the other components of the network environment 900 either directly or via network 904. In particular embodiments, the transportation matching system 902 may include one or more servers. Each server may be a unitary server or a distributed server spanning multiple computers or multiple datacenters. Servers may be of various types, such as, for example and without limitation, web server, news server, mail server, message server, advertising server, file server, application server, exchange server, database server, proxy server, another server suitable for performing functions or processes described herein, or any combination thereof. In particular embodiments, each server may include hardware, software, or embedded logic components or a combination of two or more such components for carrying out the appropriate functionalities implemented or supported by server. In particular embodiments, the transportation matching system 902 may include one or more data stores. Data stores may be used to store various types of information. In particular embodiments, the information stored in data stores may be organized according to specific data structures. In particular embodiments, each data store may be a relational, columnar, correlation, or other suitable database. Although this disclosure describes or illustrates particular types of databases, this disclosure contemplates any suitable types of databases. Particular embodiments may provide interfaces that enable a client device 906, or a transportation matching system 902 to manage, retrieve, modify, add, or delete, the information stored in data store.

In particular embodiments, the transportation matching system 902 may provide users with the ability to take actions on various types of items or objects, supported by the transportation matching system 902. As an example, and not by way of limitation, the items and objects may include ride share networks to which users of the transportation matching system 902 may belong, vehicles that users may request, location designators, computer-based applications that a user may use, transactions that allow users to buy or sell items via the service, interactions with advertisements that a user may perform, or other suitable items or objects. A user may interact with anything that is capable of being represented in the transportation matching system 902 or by an external system of a third-party system, which is separate from the transportation matching system 902 and coupled to the transportation matching system 902 via a network 904.

In particular embodiments, the transportation matching system 902 may be capable of linking a variety of entities. As an example, and not by way of limitation, the transportation matching system 902 may enable users to interact with each other or other entities, or to allow users to interact with these entities through an application programming interfaces (API) or other communication channels.

In particular embodiments, the transportation matching system 902 may include a variety of servers, sub-systems, programs, modules, logs, and data stores. In particular embodiments, the transportation matching system 902 may include one or more of the following: a web server, action logger, API-request server, relevance-and-ranking engine, content-object classifier, notification controller, action log, third-party-content-object-exposure log, inference module, authorization/privacy server, search module, advertisement-targeting module, user-interface module, user-profile store, connection store, third-party content store, or location store. The transportation matching system 902 may also include suitable components such as network interfaces, security mechanisms, load balancers, failover servers, management-and-network-operations consoles, other suitable components, or any suitable combination thereof. In particular embodiments, the transportation matching system 902 may include one or more user-profile stores for storing user profiles. A user profile may include, for example, biographic information, demographic information, behavioral information, social information, or other types of descriptive information, such as work experience, educational history, hobbies or preferences, interests, affinities, or location.

The web server may include a mail server or other messaging functionality for receiving and routing messages between the transportation matching system 902 and one or more client devices 906. An action logger may be used to receive communications from a web server about a user's actions on or off the transportation matching system 902. In conjunction with the action log, a third-party-content-object log may be maintained of user exposures to third-party-content objects. A notification controller may provide information regarding content objects to a client device 906. Information may be pushed to a client device 906 as notifications, or information may be pulled from the client device 906 responsive to a request received from the client device 906. Authorization servers may be used to enforce one or more privacy settings of the users of the transportation matching system 902. A privacy setting of a user determines how particular information associated with a user can be shared. The authorization server may allow users to opt in to or opt out of having their actions logged by the transportation matching system 902 or shared with other systems, such as, for example, by setting appropriate privacy settings. Third-party-content-object stores may be used to store content objects received from third parties. Location stores may be used for storing location information received from the client devices 906 associated with users.

In addition, the vehicle subsystem 908 can include a human-operated vehicle or an autonomous vehicle. A provider of a human-operated vehicle can perform maneuvers to pick up, transport, and drop off one or more requesters according to the embodiments described herein. In certain embodiments, the vehicle subsystem 908 can include an autonomous vehicle—i.e., a vehicle that does not require a human operator. In these embodiments, the vehicle subsystem 908 can perform maneuvers, communicate, and otherwise function without the aid of a human provider, in accordance with available technology.

In particular embodiments, the vehicle subsystem 908 may include one or more sensors incorporated therein or associated thereto. For example, sensor(s) can be mounted on the top of the vehicle subsystem 908 or else can be located within the interior of the vehicle subsystem 908. In certain embodiments, the sensor(s) can be located in multiple areas at once—i.e., split up throughout the vehicle subsystem 908 so that different components of the sensor(s) can be placed in different locations in accordance with optimal operation of the sensor(s). In these embodiments, the sensor(s) can include a LIDAR sensor and an inertial measurement unit (IMU) including one or more accelerometers, one or more gyroscopes, and one or more magnetometers. The sensor suite can additionally or alternatively include a wireless IMU (WIMU), one or more cameras, one or more microphones, or other sensors or data input devices capable of receiving and/or recording information relating to navigating a route to pick up, transport, and/or drop off a requester.

In particular embodiments, the vehicle subsystem 908 may include a communication device capable of communicating with the client device 906 and/or the transportation matching system 902. For example, the vehicle subsystem 908 can include an on-board computing device communicatively linked to the network 904 to transmit and receive data such as GPS location information, sensor-related information, requester location information, or other relevant information.

In the foregoing specification, the invention has been described with reference to specific exemplary embodiments thereof. Various embodiments and aspects of the invention(s) are described with reference to details discussed herein, and the accompanying drawings illustrate the various embodiments. The description above and drawings are illustrative of the invention and are not to be construed as limiting the invention. Numerous specific details are described to provide a thorough understanding of various embodiments of the present invention.

The present invention may be embodied in other specific forms without departing from its spirit or essential characteristics. The described embodiments are to be considered in all respects only as illustrative and not restrictive. For example, the methods described herein may be performed with less or more steps/acts or the steps/acts may be performed in differing orders. Additionally, the steps/acts described herein may be repeated or performed in parallel with one another or in parallel with different instances of the same or similar steps/acts. The scope of the invention is, therefore, indicated by the appended claims rather than by the foregoing description. All changes that come within the meaning and range of equivalency of the claims are to be embraced within their scope.

In the foregoing specification, the invention has been described with reference to specific exemplary embodiments thereof. Various embodiments and aspects of the invention(s) are described with reference to details discussed herein, and the accompanying drawings illustrate the various embodiments. The description above and drawings are illustrative of the invention and are not to be construed as limiting the invention. Numerous specific details are described to provide a thorough understanding of various embodiments of the present invention.

The present invention may be embodied in other specific forms without departing from its spirit or essential characteristics. The described embodiments are to be considered in all respects only as illustrative and not restrictive. For example, the methods described herein may be performed with less or more steps/acts or the steps/acts may be performed in differing orders. Additionally, the steps/acts described herein may be repeated or performed in parallel with one another or in parallel with different instances of the same or similar steps/acts. The scope of the invention is, therefore, indicated by the appended claims rather than by the foregoing description. All changes that come within the meaning and range of equivalency of the claims are to be embraced within their scope. 

What is claimed is:
 1. A system comprising: one or more memory devices; and one or more computing devices configured to: analyze information associated with one or more vehicles scheduled for service at a vehicle service center comprising a set of sequential stations; determine, based on the information associated with the one or more vehicles, a respective set of tasks for completion at each of the sequential stations in accordance with a predefined progression rate; customize, for display on one or more display devices within the vehicle service center, one or more task allocation user interfaces in accordance with the respective set of tasks; monitor, relative to the predefined progression rate, a completion progress for the respective set of tasks; generate, based on the completion progress, a respective set of adjusted tasks; and update the one or more task allocation user interfaces based on the respective set of adjusted tasks.
 2. The system of claim 1, wherein the one or more computing devices are further configured to: provide, for display on a client device, a management user interface for managing the one or more vehicles scheduled for service at the vehicle service center; detect, based on one or more interactions with the management user interface, one or more changes to a service queue, the one or more changes comprising an adjusted position in the service queue of a first vehicle relative to a second vehicle; and generate a set of adjusted tasks in accordance with the adjusted position in the service queue of the first vehicle relative to the second vehicle.
 3. The system of claim 1, wherein the completion progress for the respective set of tasks indicates an estimated progression rate of the one or more vehicles through the sequential stations exceeds the predefined progression rate.
 4. The system of claim 3, wherein the one or more computing devices are further configured to: modify, in response to detecting the estimated progression rate exceeds the predefined progression rate, at least one task of the respective set of tasks to generate the respective set of adjusted tasks; and update the one or more task allocation user interfaces in accordance with the respective set of adjusted tasks to enable completion of the respective set of adjusted tasks within a time allotment set according to the predefined progression rate.
 5. The system of claim 1, wherein the one or more computing devices are further configured to: customize, for display on a first display device within the vehicle service center, a first task allocation user interface in accordance with the respective set of tasks comprising a first allocation of tasks; determine, based on the completion progress comprising a first completion progress for the first allocation of tasks, an estimated progression rate of the one or more vehicles through the sequential stations exceeds the predefined progression rate; and generate, for display on the first display device, a second task allocation user interface in accordance with the respective set of adjusted tasks comprising a second allocation of tasks different from the first allocation of tasks.
 6. The system of claim 1, wherein the one or more computing devices are further configured to initiate, via one or more lighting elements at each sequential station, visual cues corresponding to respective statuses associated with the completion progress for each of the respective set of tasks.
 7. The system of claim 1, wherein the one or more computing devices are further configured to: receive, from a monitoring device, an indication of a completed task associated with at least one of the respective set of tasks; and update the one or more task allocation user interfaces based further on the received indication of the completed task.
 8. A non-transitory computer-readable storage medium comprising instructions that, when executed by at least one processor, cause a computer system to: analyze information associated with one or more vehicles scheduled for service at a vehicle service center comprising a set of sequential stations; determine, based on the information associated with the one or more vehicles, a respective set of tasks for completion at each of the sequential stations in accordance with a predefined progression rate; customize, for display on one or more display devices within the vehicle service center, one or more task allocation user interfaces in accordance with the respective set of tasks; monitor, relative to the predefined progression rate, a completion progress for the respective set of tasks; generate, based on the completion progress, a respective set of adjusted tasks; and update the one or more task allocation user interfaces based on the respective set of adjusted tasks.
 9. The non-transitory computer-readable storage medium of claim 8, further comprising instructions that, when executed by the at least one processor, cause the computer system to: provide, for display on a client device, a management user interface for managing the one or more vehicles scheduled for service at the vehicle service center; detect, based on one or more interactions with the management user interface, one or more changes to a service queue, the one or more changes comprising an adjusted position in the service queue of a first vehicle relative to a second vehicle; and generate a set of adjusted tasks in accordance with the adjusted position in the service queue of the first vehicle relative to the second vehicle.
 10. The non-transitory computer-readable storage medium of claim 8, wherein the completion progress for the respective set of tasks indicates an estimated progression rate of the one or more vehicles through the sequential stations exceeds the predefined progression rate.
 11. The non-transitory computer-readable storage medium of claim 10, further comprising instructions that, when executed by the at least one processor, cause the computer system to: modify, in response to detecting the estimated progression rate exceeds the predefined progression rate, at least one task of the respective set of tasks to generate the respective set of adjusted tasks; and update the one or more task allocation user interfaces in accordance with the respective set of adjusted tasks to enable completion of the respective set of adjusted tasks within a time allotment set according to the predefined progression rate.
 12. The non-transitory computer-readable storage medium of claim 8, further comprising instructions that, when executed by the at least one processor, cause the computer system to: customize, for display on a first display device within the vehicle service center, a first task allocation user interface in accordance with the respective set of tasks comprising a first allocation of tasks; determine, based on the completion progress comprising a first completion progress for the first allocation of tasks, an estimated progression rate of the one or more vehicles through the sequential stations exceeds the predefined progression rate; and generate, for display on the first display device, a second task allocation user interface in accordance with the respective set of adjusted tasks comprising a second allocation of tasks different from the first allocation of tasks.
 13. The non-transitory computer-readable storage medium of claim 8, further comprising instructions that, when executed by the at least one processor, cause the computer system to initiate, via one or more lighting elements at each sequential station, visual cues corresponding to respective statuses associated with the completion progress for each of the respective set of tasks.
 14. The non-transitory computer-readable storage medium of claim 8, further comprising instructions that, when executed by the at least one processor, cause the computer system to: receive, from a monitoring device, an indication of a completed task associated with at least one of the respective set of tasks; and update the one or more task allocation user interfaces based further on the received indication of the completed task.
 15. A computer-implemented method comprising: analyzing information associated with one or more vehicles scheduled for service at a vehicle service center comprising a set of sequential stations; determining, based on the information associated with the one or more vehicles, a respective set of tasks for completion at each of the sequential stations in accordance with a predefined progression rate; customizing, for display on one or more display devices within the vehicle service center, one or more task allocation user interfaces in accordance with the respective set of tasks; monitoring, relative to the predefined progression rate, a completion progress for the respective set of tasks; generating, based on the completion progress, a respective set of adjusted tasks; and updating the one or more task allocation user interfaces based on the respective set of adjusted tasks.
 16. The computer-implemented method of claim 15, further comprising: providing, for display on a client device, a management user interface for managing the one or more vehicles scheduled for service at the vehicle service center; detecting, based on one or more interactions with the management user interface, one or more changes to a service queue, the one or more changes comprising an adjusted position in the service queue of a first vehicle relative to a second vehicle; and generating a set of adjusted tasks in accordance with the adjusted position in the service queue of the first vehicle relative to the second vehicle.
 17. The computer-implemented method of claim 15, wherein the completion progress for the respective set of tasks indicates an estimated progression rate of the one or more vehicles through the sequential stations exceeds the predefined progression rate.
 18. The computer-implemented method of claim 17, further comprising: modifying, in response to detecting the estimated progression rate exceeds the predefined progression rate, at least one task of the respective set of tasks to generate the respective set of adjusted tasks; and updating the one or more task allocation user interfaces in accordance with the respective set of adjusted tasks to enable completion of the respective set of adjusted tasks within a time allotment set according to the predefined progression rate.
 19. The computer-implemented method of claim 15, further comprising: customizing, for display on a first display device within the vehicle service center, a first task allocation user interface in accordance with the respective set of tasks comprising a first allocation of tasks; determining, based on the completion progress comprising a first completion progress for the first allocation of tasks, an estimated progression rate of the one or more vehicles through the sequential stations exceeds the predefined progression rate; and generating, for display on the first display device, a second task allocation user interface in accordance with the respective set of adjusted tasks comprising a second allocation of tasks different from the first allocation of tasks.
 20. The computer-implemented method of claim 15, further comprising initiating, via one or more lighting elements at each sequential station, visual cues corresponding to respective statuses associated with the completion progress for each of the respective set of tasks. 